From ee45869759593b3720fb361016da0b5893e59263 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Thu, 7 Oct 2021 22:59:37 +0800 Subject: [PATCH] gdkdisplay.c: Fix builds without EGL We need to ensure that gdk_display_get_egl_display() is available even if EGL is not enabled in the build, so that things will continue to link and work. For builds without EGL, just return NULL. --- gdk/gdkdisplay.c | 54 ++++++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index c7993d436a..dddc8b2060 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -1438,31 +1438,6 @@ describe_egl_config (EGLDisplay egl_display, } #endif -/* - * gdk_display_get_egl_display: - * @self: a display - * - * Retrieves the EGL display connection object for the given GDK display. - * - * This function returns `NULL` if GL is not supported or GDK is using - * a different OpenGL framework than EGL. - * - * Returns: (nullable): the EGL display object - */ -gpointer -gdk_display_get_egl_display (GdkDisplay *self) -{ - GdkDisplayPrivate *priv = gdk_display_get_instance_private (self); - - g_return_val_if_fail (GDK_IS_DISPLAY (self), NULL); - - if (!priv->egl_display && - !gdk_display_prepare_gl (self, NULL)) - return NULL; - - return priv->egl_display; -} - gpointer gdk_display_get_egl_config (GdkDisplay *self) { @@ -1789,6 +1764,35 @@ gdk_display_init_egl (GdkDisplay *self, } #endif +/* + * gdk_display_get_egl_display: + * @self: a display + * + * Retrieves the EGL display connection object for the given GDK display. + * + * This function returns `NULL` if GL is not supported or GDK is using + * a different OpenGL framework than EGL. + * + * Returns: (nullable): the EGL display object + */ +gpointer +gdk_display_get_egl_display (GdkDisplay *self) +{ + GdkDisplayPrivate *priv = gdk_display_get_instance_private (self); + + g_return_val_if_fail (GDK_IS_DISPLAY (self), NULL); + +#ifdef HAVE_EGL + if (!priv->egl_display && + !gdk_display_prepare_gl (self, NULL)) + return NULL; + + return priv->egl_display; +#else + return NULL; +#endif +} + GdkDebugFlags gdk_display_get_debug_flags (GdkDisplay *display) { -- 2.30.2